<?php

namespace common\validate;


class Field extends BaseValidate
{
    // 验证规则
    protected $rule = [];

    // Fields 验证场景定义
    public function sceneFields()
    {
        return $this;
    }

    // Find 验证场景定义
    public function sceneFind()
    {
        return $this->append('param', 'require')
            ->append('param.filter', 'array');
    }

    // Select 验证场景定义
    public function sceneSelect()
    {
        return $this->append('param', 'require')
            ->append('param.filter', 'array')
            ->append('param.page', 'array');
    }

    // Create 验证场景定义
    public function sceneCreate()
    {
        return $this->append('data.module_id', 'require|number')
            ->append('data.config', 'require|array')
            ->append('data.config.lang', 'require') // 字段名称
            ->append('data.config.type', 'require') // 字段类型
            ->append('data.config.field', 'require') // 字段编码
            ->append('data.config.editor', 'require'); // 字段编辑器

    }

    // Update 验证场景定义
    public function sceneUpdate()
    {
        return $this;
    }

    // GetFieldConfig 验证场景定义
    public function sceneGetFieldConfig()
    {
        return $this->append('param.filter.table_name', 'require');
    }

    // ModifyFieldConfig 验证场景定义
    public function sceneModifyFieldConfig()
    {
        return $this->append('param.filter.table_name', 'require')
            ->append('data.fixed', 'require|array')
            ->append('data.custom', 'array');
    }

    // GetFieldDataSource 验证场景定义
    public function sceneGetFieldDataSource()
    {
        return $this->append('data_source_name', 'require');
    }

    // ModifyFieldConfig 验证场景定义
    public function sceneGetExcelImportFields()
    {
        return $this->append('param.module_code', 'require');
    }
}
